/**
  * @class Ext.Button
  * Used to create the base structure of an Ext.Button
  */
@mixin extjs-button {
  // default button pictos icons
  @if $include-default-button-icons {
    @include extjs-button-icon('forbidden', 'd');
    @include extjs-button-icon('people', 'g');
    @include extjs-button-icon('information', 'i');
    @include extjs-button-icon('link', 'j');
    @include extjs-button-icon('love', 'k');
    @include extjs-button-icon('list', 'l', $top: 1px);
    @include extjs-button-icon('music', 'm');
    //        @include extjs-button-icon('folder', 'o');
    @include extjs-button-icon('edit2', 'p');
    @include extjs-button-icon('chat2', 'q');
    @include extjs-button-icon('retweet', 'r');
    @include extjs-button-icon('search', 's');
    @include extjs-button-icon('time', 't');
    @include extjs-button-icon('photo', 'v');
    @include extjs-button-icon('chat', 'w');
    @include extjs-button-icon('settings', 'x');
    @include extjs-button-icon('settings2', 'y');
    @include extjs-button-icon('bookmark', 'z');
    @include extjs-button-icon('link2', 'A');
    @include extjs-button-icon('tweet', 'B');
    @include extjs-button-icon('cloud', 'C');
    @include extjs-button-icon('close', 'D');
    //        @include extjs-button-icon('file', 'F');
    @include extjs-button-icon('home', 'H');
    @include extjs-button-icon('key', 'K');
    @include extjs-button-icon('mail', 'M');
    @include extjs-button-icon('paste', 'N');
    @include extjs-button-icon('power', 'Q');
    @include extjs-button-icon('open', 'R');
    @include extjs-button-icon('star', 'S');
    @include extjs-button-icon('person', 'U');
    @include extjs-button-icon('video', 'V');
    @include extjs-button-icon('edit', 'W');
    @include extjs-button-icon('charts', 'Z');
    @include extjs-button-icon('expand', '`');
    @include extjs-button-icon('refresh', '1');
    @include extjs-button-icon('tick', '2');
    @include extjs-button-icon('tick2', '3');
    @include extjs-button-icon('play', '4');
    @include extjs-button-icon('pause', '5');
    @include extjs-button-icon('stop', '6');
    @include extjs-button-icon('forward', '7');
    @include extjs-button-icon('rewind', '8');
    @include extjs-button-icon('play2', '9');
    @include extjs-button-icon('refresh2', '0');
    @include extjs-button-icon('minus', '-');
    @include extjs-button-icon('power', '-');
    @include extjs-button-icon('left', '[');
    @include extjs-button-icon('right', ']');
    @include extjs-button-icon('date', '\\');
    @include extjs-button-icon('shuffle', ';');
    @include extjs-button-icon('wifi', '\'');
    @include extjs-button-icon('speed', ',');
    @include extjs-button-icon('more', '.');
    @include extjs-button-icon('print', '/');
    @include extjs-button-icon('warning', '!');
    @include extjs-button-icon('location', '@');
    @include extjs-button-icon('trash', '#');
    @include extjs-button-icon('cart', '$');
    @include extjs-button-icon('flag', '^');
    @include extjs-button-icon('add', '&');
    @include extjs-button-icon('close', '*');
    @include extjs-button-icon('lock', '(');
    @include extjs-button-icon('unlock', ')');
    @include extjs-button-icon('remove', '_');
    @include extjs-button-icon('add2', '+');
    @include extjs-button-icon('up', '{');
    @include extjs-button-icon('down', '}');
    @include extjs-button-icon('bell', ':');
    @include extjs-button-icon('quote', '"');
    @include extjs-button-icon('novolume', '<');
    @include extjs-button-icon('volume', '>');
    @include extjs-button-icon('question', '?');
  }

  .#{$prefix}btn {
    display: inline-block;
    // @tag ie6hack
    *display: inline;
    position: relative;
    vertical-align: middle;
    background-repeat: no-repeat;
    @extend .mr-white-glove;

    // icons
    // @todo hacking
    &.small {
      .x-btn-icon:after {
        font-size: 16px;
      }
    }

    &.medium {
      .x-btn-icon:before,
      .x-btn-icon:after {
        font-size: 24px;
      }
    }

    &.large {
      .x-btn-icon:before,
      .x-btn-icon:after {
        font-size: 30px;
      }
    }

    em {
      background-repeat: no-repeat;

      // Styles for an anchor button.
      a {
        text-decoration: none;
        display: inline-block;
        color: inherit;
      }
    }

    button {
      margin: 0;
      padding: 0;
      border: 0;
      width: auto;
      background: none;
      @extend .outline-none;
      overflow: hidden;
      vertical-align: bottom;
      -webkit-appearance: none;

      &::-moz-focus-inner {
        border: 0;
        padding: 0;
      }
    }

    .#{$prefix}btn-inner {
      display: block;
      white-space: nowrap;
      background-color: transparent;
      background-repeat: no-repeat;
      background-position: left center;
      @include transition(color);
    }

    .#{$prefix}btn-left .#{$prefix}btn-inner {
      text-align: left;
    }

    .#{$prefix}btn-center .#{$prefix}btn-inner {
      text-align: center;
    }

    .#{$prefix}btn-right .#{$prefix}btn-inner {
      text-align: right;
    }
  }

  .#{$prefix}btn-disabled {
    @include opacity(1);
  }

  .#{$prefix}btn-disabled span {
    @include opacity(.5);

    .#{$prefix}ie6 &,
    .#{$prefix}ie7 & {
      filter: none;
    }
  }

  //remove the opacity rule of IE8
  .#{$prefix}ie7 .#{$prefix}btn-disabled,
  .#{$prefix}ie8 .#{$prefix}btn-disabled {
    filter: none;
  }

  .#{$prefix}ie6 .#{$prefix}btn-disabled,
  .#{$prefix}ie7 .#{$prefix}btn-disabled,
  .#{$prefix}ie8 .#{$prefix}btn-disabled {
    .#{$prefix}btn-icon {
      @include opacity(.6);
    }
  }

  @if $include-ie {
    * html .#{$prefix}ie {
      .#{$prefix}btn button {
        width: 1px;
      }
    }

    .#{$prefix}ie .#{$prefix}btn button {
      overflow-x: visible; /*prevents extra horiz space in IE*/
      vertical-align: baseline; /*IE doesn't like bottom*/
    }

    .#{$prefix}strict .#{$prefix}ie6,
    .#{$prefix}strict .#{$prefix}ie7 {
      .#{$prefix}btn .#{$prefix}frame-mc {
        height: 100%;
      }
    }
  }

  @if not $supports-border-radius or $compile-all {
    .#{$prefix}nbr {
      .#{$prefix}btn {
        .#{$prefix}frame-mc {
          vertical-align: middle;
          white-space: nowrap;
          text-align: center;
          cursor: pointer;
        }
      }
    }
  }

  // Icon alignment
  .#{$prefix}btn-icon-text-left .#{$prefix}btn-icon {
    background-position: left center;
  }
  .#{$prefix}btn-icon-text-right .#{$prefix}btn-icon {
    background-position: right center;
  }
  .#{$prefix}btn-icon-text-top .#{$prefix}btn-icon {
    background-position: center top;
  }
  .#{$prefix}btn-icon-text-bottom .#{$prefix}btn-icon {
    background-position: center bottom;
  }

  .#{$prefix}btn {
    button, a {
      position: relative;

      .#{$prefix}btn-icon {
        position: absolute;
        background-repeat: no-repeat;
      }
    }
  }

  .#{$prefix}btn-arrow-right {
    background: transparent no-repeat right 4px;
    padding-right: $button-arrow-size;

    .#{$prefix}btn-inner {
      padding-right: 0 !important;
    }
  }

  .x-btn-pressed {
    .#{$prefix}btn-arrow-right {
      background-position: right -17px;
    }
  }

  .x-btn-menu-active {
    .#{$prefix}btn-arrow-right {
      //            background-position: right -28px;
    }
  }

  .#{$prefix}toolbar .#{$prefix}btn-arrow-right {
    padding-right: $button-toolbar-arrow-size;
  }

  .#{$prefix}btn-arrow-bottom {
    background: transparent no-repeat center bottom;
    padding-bottom: $button-arrow-size;
  }

  .#{$prefix}btn-arrow {
    background-image: theme-background-image($theme-name, 'button/arrow.png');
    display: block;
  }

  //split buttons
  .#{$prefix}btn-split-right,
  .#{$prefix}btn-over .#{$prefix}btn-split-right {
    background: transparent no-repeat right center;
    background-image: theme-background-image($theme-name, 'button/s-arrow.png');
    padding-right: $button-split-size !important;
  }

  .#{$prefix}btn-split-bottom,
  .#{$prefix}btn-over .#{$prefix}btn-split-bottom {
    background: transparent no-repeat center bottom;
    background-image: theme-background-image($theme-name, 'button/s-arrow-b.png');
    padding-bottom: $button-split-size;
  }

  .#{$prefix}toolbar .#{$prefix}btn-split-right {
    background-image: theme-background-image($theme-name, 'button/s-arrow-noline.png');
    padding-right: $button-toolbar-split-size !important;
  }

  .#{$prefix}toolbar .#{$prefix}btn-split-bottom {
    background-image: theme-background-image($theme-name, 'button/s-arrow-b-noline.png');
  }

  .#{$prefix}btn-split {
    display: block;
  }

  .#{$prefix}item-disabled,
  .#{$prefix}item-disabled * {
    cursor: default;
  }

  .#{$prefix}cycle-fixed-width .#{$prefix}btn-inner {
    text-align: inherit;
  }

  .#{$prefix}btn-over .#{$prefix}btn-split-right {
    background-image: theme-background-image($theme-name, 'button/s-arrow-o.png');
  }
  .#{$prefix}btn-over .#{$prefix}btn-split-bottom {
    background-image: theme-background-image($theme-name, 'button/s-arrow-bo.png');
  }

  .#{$prefix}btn-menu-active .#{$prefix}btn-split-right,
  .#{$prefix}btn-pressed .#{$prefix}btn-split-right {
    background-image: theme-background-image($theme-name, 'button/s-arrow-p.png');
  }
  .#{$prefix}btn-menu-active .#{$prefix}btn-split-bottom,
  .#{$prefix}btn-pressed .#{$prefix}btn-split-bottom {
    background-image: theme-background-image($theme-name, 'button/s-arrow-bp.png');
  }

  @if $include-button-uis {
    @include extjs-button-ui('default-small',
    $padding: $button-small-padding,
    $text-padding: $button-small-text-padding,
    $icon-size: $button-small-icon-size
    );

    @include extjs-button-ui('default-medium',
    $icon-size: $button-medium-icon-size
    );

    @include extjs-button-ui('default-large',
    $icon-size: $button-large-icon-size
    );

    @include extjs-button-ui('confirm-small',
    $background-color: $confirm-color,
    $icon-size: $button-small-icon-size
    );

    @include extjs-button-ui('confirm-medium',
    $background-color: $confirm-color,
    $icon-size: $button-medium-icon-size
    );

    @include extjs-button-ui('drastic-medium',
    $background-color: $drastic-color,
    $icon-size: $button-medium-icon-size
    );

    @include extjs-button-ui('action-medium',
    $background-color: $base-color,
    $icon-size: $button-medium-icon-size
    );

    @if $include-toolbar-uis {
      @include extjs-toolbar-button-ui('default-toolbar-small',
      $icon-size: $button-small-icon-size,
      $text-padding: $button-small-text-padding
      );

      @include extjs-toolbar-button-ui('default-toolbar-medium',
      $icon-size: $button-medium-icon-size
      );

      @include extjs-toolbar-button-ui('default-toolbar-large',
      $icon-size: $button-large-icon-size
      );
    }
  }

  .#{$prefix}btn-default-toolbar-small-disabled,
  .#{$prefix}btn-default-toolbar-medium-disabled,
  .#{$prefix}btn-default-toolbar-large-disabled {
    border-color: transparent;
    background-image: none;
    background: transparent;
  }
}

// This may move to compat file (new theme will likely have simpler defaults)

@mixin extjs-toolbar-button-ui(
  $ui,
  $icon-size: $button-small-icon-size,
  $text-padding: $button-text-padding
) {
  @include extjs-button-ui(
                  $ui,
          $color: color-by-background($button-toolbar-background-color, 50%),
          $border-color: $button-toolbar-border-color,
          $border-color-over: $button-toolbar-border-color-over,
          $border-color-pressed: $button-toolbar-border-color-pressed,
          $background-color: $button-toolbar-background-color,
          $background-color-over: $button-toolbar-background-color-over,
          $background-color-pressed: $button-toolbar-background-color-pressed,
          $background-gradient: $button-toolbar-background-gradient,
          $background-gradient-over: $button-toolbar-background-gradient-over,
          $background-gradient-pressed: $button-toolbar-background-gradient-pressed,
          $font-weight: $button-toolbar-font-weight,
          $font-family: $button-toolbar-font-family,
          $font-size: $button-toolbar-font-size
  );
}

@mixin extjs-button-ui(
  $ui,

  $border-radius: $button-border-radius,
  $border-width: $button-border-width,

  $padding: $button-padding,
  $text-padding: $button-text-padding,

  $background-color: $button-base-color,
  $background-color-over: color-offset($background-color, 10%),
  $background-color-focus: $background-color-over,
  $background-color-pressed: color-offset($background-color, 10%, dark),
  $background-color-disabled: $background-color,

  $border-color: darken($background-color, 20%),
  $border-color-over: $border-color,
  $border-color-focus: $border-color,
  $border-color-pressed: $border-color,
  $border-color-disabled: $border-color,

  $background-gradient: $button-background-gradient,
  $background-gradient-over: $button-background-gradient-over,
  $background-gradient-focus: $button-background-gradient-over,
  $background-gradient-pressed: $button-background-gradient-pressed,
  $background-gradient-disabled: $button-background-gradient,

  $color: color-by-background($background-color, 60%),
  $color-over: color-by-background($background-color-over, 70%),
  $color-focus: $color,
  $color-pressed: color-by-background($background-color-pressed, 80%),
  $color-disabled: $button-color-disabled,

  $font-size: $button-font-size,
  $font-size-over: $font-size,
  $font-size-focus: $font-size,
  $font-size-pressed: $font-size,
  $font-size-disabled: $font-size,

  $font-weight: $button-font-weight,
  $font-weight-over: $font-weight,
  $font-weight-focus: $font-weight,
  $font-weight-pressed: $font-weight,
  $font-weight-disabled: $font-weight,

  $font-family: $button-font-family,
  $font-family-over: $font-family,
  $font-family-focus: $font-family,
  $font-family-pressed: $font-family,
  $font-family-disabled: $font-family,

  $icon-size: $button-small-icon-size
) {
  .#{$prefix}btn-#{$ui} {
    border-color: $border-color;
  }

  .#{$prefix}btn-#{$ui} .#{$prefix}btn-inner {
    font-size: $font-size;
    font-weight: $font-weight;
    font-family: $font-family;
    color: $color;
    background-repeat: no-repeat;
    padding: 0 $text-padding;
    @if $include-button-highlights {
      @include inset-by-background($background-color);
    }
  }

  @include x-frame('btn', $ui, $border-radius, $border-width, $padding, $background-color, $background-gradient, true);

  // Icons
  @if $include-default-button-icons {
    .x-btn-icon:after {
      @include background-gradient($color, matte);
    }

    @if $color-over != $color {
      .#{$prefix}btn-#{$ui}-over {
        .x-btn-icon:after {
          @include background-gradient($color-over, matte);
        }
      }
    }

    @if $color-focus != $color {
      .#{$prefix}btn-#{$ui}-focus {
        .x-btn-icon:after {
          @include background-gradient($color-focus, matte);
        }
      }
    }

    @if $color-pressed != $color {
      .#{$prefix}btn-#{$ui}-menu-active,
      .#{$prefix}btn-#{$ui}-pressed {
        .x-btn-icon:after {
          @include background-gradient($color-pressed, matte);
        }
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon,
  .#{$prefix}btn-#{$ui}-noicon {
    button,
    .#{$prefix}btn-inner {
      height: $icon-size;
      line-height: $icon-size;
    }
  }

  //icons
  .#{$prefix}btn-#{$ui}-icon {
    button {
      padding: 0;
      width: $icon-size !important;
      height: $icon-size;
    }

    .#{$prefix}btn-icon {
      width: $icon-size;
      height: $icon-size;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-left {
    button {
      height: $icon-size;
    }

    .#{$prefix}btn-inner {
      height: $icon-size;
      line-height: $icon-size;
      padding-left: $icon-size + 4px;
    }

    .#{$prefix}btn-icon {
      width: $icon-size;
      height: auto;
      top: 0;
      left: 0;
      bottom: 0;
      right: auto;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks & {
        height: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-right {
    button {
      height: $icon-size;
    }

    .#{$prefix}btn-inner {
      height: $icon-size;
      line-height: $icon-size;
      padding-right: $icon-size + 4px !important;
    }

    .#{$prefix}btn-icon {
      width: $icon-size;
      height: auto;
      top: 0;
      left: auto;
      bottom: 0;
      right: 0;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks & {
        height: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-top {
    .#{$prefix}btn-inner {
      padding-top: $icon-size + 4px;
    }

    .#{$prefix}btn-icon {
      width: auto;
      height: $icon-size;
      top: 0;
      left: 0;
      bottom: auto;
      right: 0;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks .#{$prefix}ie & {
        width: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-bottom {
    .#{$prefix}btn-inner {
      padding-bottom: $icon-size + 4px;
    }

    .#{$prefix}btn-icon {
      width: auto;
      height: $icon-size;
      top: auto;
      left: 0;
      bottom: 0;
      right: 0;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks .#{$prefix}ie & {
        width: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-over {
    @if $border-color-over != $border-color {
      border-color: $border-color-over;
    }
    @if $background-color-over != null {
      @include background-gradient($background-color-over, $background-gradient-over);
    }

    .#{$prefix}btn-inner {
      @if $color-over != $color {
        color: $color-over;
      }
      @if $font-weight-over != $font-weight {
        font-weight: $font-weight-over;
      }
      @if $font-size-over != $font-size {
        font-size: $font-size-over;
      }
      @if $font-family-over != $font-family {
        font-family: $font-family-over;
      }
      //            @if $include-button-highlights {
      //                @include inset-by-background($background-color-over);
      //            }
    }

    // @todo IE6ify?
    //        @if $include-button-highlights {
    //            @include box-shadow($css-shadow-background-color 0 1px 1px);
    //        }
  }

  .#{$prefix}btn-#{$ui}-focus {
    @if $border-color-focus != $border-color {
      border-color: $border-color-focus;
    }
    @if $background-color-focus != null {
      @include background-gradient($background-color-focus, $background-gradient-focus);
    }

    .#{$prefix}btn-inner {
      @if $color-focus != $color {
        color: $color-focus;
      }
      @if $font-weight-focus != $font-weight {
        font-weight: $font-weight-focus;
      }
      @if $font-size-focus != $font-size {
        font-size: $font-size-focus;
      }
      @if $font-family-focus != $font-family {
        font-family: $font-family-focus;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-menu-active,
  .#{$prefix}btn-#{$ui}-pressed {
    @if $border-color-pressed != $border-color {
      border-color: $border-color-pressed;
    }
    @if $include-button-highlights {
      @include box-shadow(none);
    }
    @if $background-color-pressed != null {
      @include background-gradient($background-color-pressed, $background-gradient-pressed);
    }

    .#{$prefix}btn-inner {
      @if $color-pressed != $color {
        color: $color-pressed;
      }
      @if $font-weight-pressed != $font-weight {
        font-weight: $font-weight-pressed;
      }
      @if $font-size-pressed != $font-size {
        font-size: $font-size-pressed;
      }
      @if $font-family-pressed != $font-family {
        font-family: $font-family-pressed;
      }
      @if $include-button-highlights {
        @include inset-by-background($background-color-pressed);
      }
    }
  }

  .#{$prefix}btn-#{$ui}-menu-active {
    @include border-bottom-radius(0);
  }

  //    .#{$prefix}btn-#{$ui}-menu-active {
  //        border-color: #fff;
  ////        border: 0;
  //        @include border-bottom-radius(0);

  //        background-image: none;
  //        background: #fff;

  //        @include box-shadow(#CACAC9 0 0 4px);

  //        .#{$prefix}btn-inner {
  //            color: #010101;
  //            font-weight: bold;
  //        }
  //    }

  .#{$prefix}btn-#{$ui}-disabled {
    @if $border-color-disabled != $border-color {
      border-color: $border-color-disabled;
    }
    @if $background-color-disabled != null {
      @include background-gradient($background-color-disabled, $background-gradient-disabled);
    }

    .#{$prefix}btn-inner {
      @if $color-disabled != $color {
        color: $color !important;
      }
      @if $font-weight-disabled != $font-weight {
        font-weight: $font-weight-disabled;
      }
      @if $font-size-disabled != $font-size {
        font-size: $font-size-disabled;
      }
      @if $font-family-disabled != $font-family {
        font-family: $font-family-disabled;
      }
    }
  }

  .#{$prefix}ie .#{$prefix}btn-#{$ui}-disabled {
    .#{$prefix}btn-inner {
      @if $color-disabled != $color {
        color: darken($color-disabled, 20) !important;
      }
    }
  }

  .#{$prefix}ie6 .#{$prefix}btn-#{$ui}-disabled {
    .#{$prefix}btn-inner {
      @if $color-disabled != $color {
        color: $color-disabled !important;
      }
    }
  }

  @if not $supports-border-radius or $compile-all {
    .#{$prefix}nbr {
      .#{$prefix}btn-#{$ui}-over {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-over;
          @if $background-gradient-over != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
          }
        }
      }

      .#{$prefix}btn-#{$ui}-focus {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-focus;
          @if $background-gradient-focus != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
          }
        }
      }

      .#{$prefix}btn-#{$ui}-menu-active,
      .#{$prefix}btn-#{$ui}-pressed {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-pressed;
          @if $background-gradient-pressed != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
          }
        }
      }

      .#{$prefix}btn-#{$ui}-disabled {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-disabled;
          @if $background-gradient-disabled != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
          }
        }
      }
    }
  }

  @if not $supports-gradients or $compile-all {
    @if $background-gradient != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui} {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-bg.gif');
        }
      }
    }

    @if $background-gradient-over != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-over {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
        }
      }
    }

    @if $background-gradient-focus != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-focus {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
        }
      }
    }

    @if $background-gradient-pressed != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-menu-active,
        .#{$prefix}btn-#{$ui}-pressed {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
        }
      }
    }

    @if $background-gradient-disabled != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-disabled {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
        }
      }
    }
  }
}

;

@mixin extjs-button-icon($name, $key, $size: 17px, $top: null, $left: null) {
  .#{$name} {
    @include pictos($key, $color: #fff, $size: $size, $include-states: false, $shadow: false, $border-color: false);

    &:after {
      @if $top {
        top: $top;
      }

      @if $left {
        left: $left;
      }
    }
  }
}
